package cn.tedu.sp06;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@EnableCircuitBreaker
public class Sp06RibbonApplication {

    public static void main(String[] args) {
        SpringApplication.run(Sp06RibbonApplication.class, args);
    }

    /*
    创建 RestTemplate实例
    放入spring容器
    @LoadBalanced-
    对RestTemplate进行增强，封装RestTemplate，添加负载均衡功能
     */
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        //设置调用超时时间，超时后认为调用失败
        SimpleClientHttpRequestFactory f=new SimpleClientHttpRequestFactory();
        f.setConnectTimeout(1000);//建立连接等待时间
        f.setReadTimeout(1000);  //建立连接后，发送请求，等待接受响应时间

        return new RestTemplate();
    }

}
